home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / OPENWIRE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  7.3 KB  |  253 lines

  1. 10  'OPENWIRE - Open Wire Feeders - 28 JAN 94 rev. 27 SEP 96
  2. 20  CLS:KEY OFF
  3. 30  IF EX$=""THEN EX$="EXIT"
  4. 40  IF PROG$=""THEN GO$=EX$ ELSE GO$=PROG$
  5. 50  COMMON EX$,PROG$
  6. 60  COLOR 7,0,1
  7. 70  LF=1/LOG(10)           'log factor to convert to log base 10
  8. 80  E$=STRING$(79,32)      'line blanker
  9. 90  UL$=STRING$(80,205)
  10. 100  '
  11. 110  '.....AWG calculator
  12. 120  DIM GA(40)             'AWG sizes
  13. 130  K=(0.46/0.005)^(1/39)    'increment multiplier
  14. 140  FOR Z=1 TO 40
  15. 150  N=Z+3
  16. 160  GA(Z)=0.46/K^N
  17. 170  NEXT Z
  18. 180  '
  19. 190  '.....start
  20. 200  CLS
  21. 210  COLOR 15,2
  22. 220  PRINT " OPEN-WIRE TRANSMISSION LINES";
  23. 230  PRINT TAB(57);"by George Murphy VE3ERP ";
  24. 240  COLOR 1,0:PRINT STRING$(80,223);
  25. 250  COLOR 7,0
  26. 260  PRINT " Press number in < > to choose standard units of measure:"
  27. 270  PRINT UL$;
  28. 280  PRINT "   < 1 >  Metric"
  29. 290  PRINT "   < 2 >  U.S.A./Imperial"
  30. 300  PRINT UL$;
  31. 310  PRINT "     or Press < 0 > to EXIT....."
  32. 320  Z$=INKEY$
  33. 330  IF Z$="0"THEN CLS:CHAIN GO$
  34. 340  IF Z$="1"THEN UM=25.4:UM$="mm":GOTO 370
  35. 350  IF Z$="2"THEN UM=1:UM$="in.":GOTO 370
  36. 360  GOTO 320
  37. 370  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  38. 380  PRINT " Press number in < > to:
  39. 390  PRINT UL$;
  40. 400  PRINT "  < 1 >  Find IMPEDENCE of single wire line"
  41. 410  PRINT "  < 2 >  Find IMPEDENCE and LOSS of 2-wire line"
  42. 420  PRINT "  < 3 >  Find SPACING and LOSS of 2-wire line"
  43. 430  PRINT "  < 4 >  Find IMPEDANCE of 4-wire line"
  44. 440  PRINT "  < 5 >  List characteristics of U.S.A. standard open-wire ";
  45. 450  PRINT "transmission lines"
  46. 460  PRINT UL$;
  47. 470  PRINT " NOTE:"
  48. 480  PRINT " Spacing in this program refers to centre-to-centre distance ";
  49. 490  PRINT "between wires."
  50. 500  Z$=INKEY$
  51. 510  IF Z$="1"THEN 760
  52. 520  IF Z$="2"THEN 950
  53. 530  IF Z$="3"THEN 1160
  54. 540  IF Z$="4"THEN 1560
  55. 550  IF Z$="5"THEN 1940
  56. 560  GOTO 500
  57. 570  '
  58. 580  '.....input wire size
  59. 590  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  60. 600  PRINT " Press number in < > to indicate how you wish to enter wire size:"
  61. 610  PRINT UL$;
  62. 620  PRINT "   < 1 >  by diameter in millimetres"
  63. 630  PRINT "   < 2 >  by diameter in decimal inches"
  64. 640  PRINT "   < 3 >  by AWG #"
  65. 650  Z$=INKEY$
  66. 660  IF Z$="1"THEN DIA=25.4:D$="( mm )..":GOTO 700
  67. 670  IF Z$="2"THEN DIA=1:D$="( in.)..":GOTO 700
  68. 680  IF Z$="3"THEN DIA=0:D$="( AWG #)":GOTO 700
  69. 690  GOTO 650
  70. 700  PRINT UL$;
  71. 710  PRINT " ENTER: Wire size ";D$;".....";:INPUT D
  72. 720  IF Z$="3"THEN AWG=D
  73. 730  IF DIA THEN D=D/DIA ELSE D=GA(D)
  74. 740  RETURN
  75. 750  '
  76. 760  '.....single wire impedance calculation
  77. 770  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  78. 780  GOSUB 570
  79. 790  PRINT " ENTER: Height of wire above ground plane (";UM$;")";
  80. 800  INPUT H:H=H/UM
  81. 810  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  82. 820  PRINT " Impedance of a Single Wire transmission line"
  83. 830  PRINT UL$;
  84. 840  Z=LF*138*LOG(4*H/D)
  85. 850  PRINT " Wire diameter.....................";USING "#####.###";D*UM;
  86. 860  PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
  87. 870  PRINT ""
  88. 880  PRINT " Distance away from ground plane...";USING "#####.#";H*UM;
  89. 890  PRINT " ";UM$
  90. 900  PRINT " Impedance.........................";USING "#####.#";Z;:PRINT" -"
  91. 910  COLOR 7,0
  92. 920  PRINT UL$;
  93. 930  GOTO 2350
  94. 940  '
  95. 950  '.....2-wire impedance calculation
  96. 960  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  97. 970  GOSUB 580
  98. 980  PRINT " ENTER: Space between open wires (";UM$;") ";
  99. 990  INPUT S:S=S/UM
  100. 1000  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  101. 1010  PRINT " Impedance of a 2-Wire Open-Wire transmission line:"
  102. 1020  PRINT UL$;
  103. 1030  IF S<D THEN 1500    'spacing less than diameter
  104. 1040  Z=LF*276*LOG(2*S/D)
  105. 1050  PRINT " Wire diameter.....................";USING "###.###";D*UM;
  106. 1060  PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
  107. 1070  PRINT ""
  108. 1080  PRINT " Wire spacing......................";USING "###.###";S*UM;
  109. 1090  PRINT " ";UM$
  110. 1100  PRINT " Impedance.........................";USING "#####.#";Z;:PRINT" -"
  111. 1110  'COLOR 7,0
  112. 1120  'PRINT UL$;
  113. 1130  'GOTO 2000
  114. 1140  GOTO 2070
  115. 1150  '
  116. 1160  '.....2-wire spacing calculation
  117. 1170  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  118. 1180  GOSUB 580
  119. 1190  INPUT " ENTER: Desired impedance of line in ohms.........";Z
  120. 1200  LOCATE 3:VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  121. 1210  IF Z>=83.1 THEN 1370
  122. 1220  BEEP
  123. 1230  T=8
  124. 1240  PRINT
  125. 1250  PRINT TAB(T);
  126. 1260  PRINT "Open-wire lines of less than 83.1 - impedance are not physically"
  127. 1270  PRINT TAB(T);
  128. 1280  PRINT "possible because the space between the wires would theoretically"
  129. 1290  PRINT TAB(T);
  130. 1300  PRINT "be zero or less."
  131. 1310  PRINT
  132. 1320  PRINT TAB(T);
  133. 1330  PRINT "Press any key to start over.........."
  134. 1340  IF INKEY$=""THEN 1340
  135. 1350  CLS:ERASE GA:GOTO 40
  136. 1360  '
  137. 1370  PRINT " Spacing of a 2-wire open transmission line:"
  138. 1380  PRINT UL$;
  139. 1390  X=Z/276
  140. 1400  Q=10^X
  141. 1410  S=Q/2*D
  142. 1420  IF S<D THEN 1500       'spacing less than diameter
  143. 1430  PRINT " Impedance.........................";USING "  #####";Z;:PRINT " -"
  144. 1440  PRINT " Wire diameter.....................";USING "###.###";D*UM;
  145. 1450  PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
  146. 1460  PRINT ""
  147. 1470  PRINT " Wire spacing......................";USING "###.###";S*UM;
  148. 1480  PRINT " ";UM$
  149. 1490  IF S>D THEN 1540
  150. 1500  BEEP:PRINT " NOT POSSIBLE! Wire diameter exceeds spacing!"
  151. 1510  PRINT " Press any key.................."
  152. 1520  IF INKEY$=""THEN 1520
  153. 1530  CLS:ERASE GA:GOTO 40
  154. 1540  GOTO 2070
  155. 1550  '
  156. 1560  '.....4-wire calculation
  157. 1570  GOSUB 570
  158. 1580  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  159. 1590  R=0    'row
  160. 1600  C=34   'column
  161. 1610  LOCATE R+3,C:PRINT "      A"
  162. 1620  LOCATE R+4,C:PRINT "      <UNK! {FE22}>
  163. 1630  LOCATE R+5,C:PRINT "      |"
  164. 1640  LOCATE R+6,C:PRINT "C <UNK! {FE2D}>- + --<UNK! {FE20}>D"
  165. 1650  LOCATE R+7,C:PRINT "      |"
  166. 1660  LOCATE R+8,C:PRINT "      <UNK! {FE22}>
  167. 1670  LOCATE R+9,C:PRINT "      B"
  168. 1680  PRINT UL$;
  169. 1690  T$=" IMPEDANCE OF 4-wire OPEN-WIRE TRANSMISSION LINE "
  170. 1700  LOCATE CSRLIN,16:COLOR 15,2:PRINT T$:COLOR 7,0
  171. 1710  PRINT UL$;
  172. 1720  PRINT " ENTER: Dimension AC or BD (";UM$;") ";
  173. 1730  INPUT S1:S1=S1/UM
  174. 1740  PRINT " ENTER: Dimension AD or BC (";UM$;") ";
  175. 1750  INPUT S2:S2=S2/UM
  176. 1760  S3=SQR(S1^2+S2^2)
  177. 1770  VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
  178. 1780  Z=LF*138*LOG(2*S2/(D*SQR(1+(S2/S1)^2)))
  179. 1790  PRINT " Wire diameter.............................";USING "####.###";D*UM;
  180. 1800  PRINT " ";UM$;:IF AWG THEN PRINT " ( AWG# ";USING "##";AWG;:PRINT " )";
  181. 1810  PRINT ""
  182. 1820  PRINT " Distance from wires A to C and B to D.....";USING "####.###";S1*UM;
  183. 1830  PRINT " ";UM$
  184. 1840  PRINT " Distance from wires A to D and B to C.....";USING "####.###";S2*UM;
  185. 1850  PRINT " ";UM$
  186. 1860  PRINT " Distance from wires A to B and C to D.....";USING "####.###";S3*UM;
  187. 1870  PRINT " ";UM$
  188. 1880  PRINT " Impedance.................................";USING "####.###";Z;
  189. 1890  PRINT " -"
  190. 1900  PRINT UL$;
  191. 1910  COLOR 7,0
  192. 1920  GOTO 2350
  193. 1930  '
  194. 1940  '.....open wire characteristics
  195. 1950  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  196. 1960  PRINT " Type                       Impedance    Vel.   pF/ft."
  197. 1970  PRINT UL$;
  198. 1980  PRINT " Open Wire, #12 AWG               -      97%      -"
  199. 1990  PRINT " 75 -  transmitting twin lead    75 -    67%    19.0"
  200. 2000  PRINT " 300 - twin lead                300 -    82%     5.8"
  201. 2010  PRINT " 300 - tubular                  300 -    80%     4.8"
  202. 2020  PRINT " TV type 1/2 in. open wire      300 -    95%      -"
  203. 2030  PRINT " TV type 1.0 in. open wire      450 -    95%      -"
  204. 2040  PRINT UL$;
  205. 2050  GOTO 2350
  206. 2060  '
  207. 2070  '.....loss calculations according to WES, N7WS
  208. 2080  IF UM=1 THEN M$="feet"ELSE M$="metres"
  209. 2090  PRINT " ENTER: Line Length ( ";M$;" )....";:INPUT LG
  210. 2100  IF UM=2 THEN LG=LG*0.3048
  211. 2110  INPUT " ENTER: Frequency (MHz).........";F
  212. 2120  LOCATE CSRLIN-2:PRINT E$:PRINT E$:LOCATE CSRLIN-2
  213. 2130  PRINT " Frequency.........................";USING "###.###";F;:PRINT " MHz"
  214. 2140  RT=(0.2/D)*F^(1/2)        'Rt factor
  215. 2150  X=(S/D)
  216. 2160  E=14400*(LOG(X+SQR(X*X-1))^2)/Z^2   'log(x+<UNK! {00FB}>(x*x-1)) = acosh(x)
  217. 2170  U$="###.###"
  218. 2180  PRINT " Effective Dielectric Constant.....";USING U$;E
  219. 2190  PRINT " Power Factor......................";USING U$;0;
  220. 2200  PRINT " (assumed)"
  221. 2210  RT=(0.2/D)*F^0.5
  222. 2220  PRINT " Resistance at this frequency......";USING U$;RT;:PRINT " -"
  223. 2230  A=4.34*RT/(Z+(2.78*((F*E)^0.5)*F*P))
  224. 2240  PRINT " Unit Loss.........................";USING U$;A;
  225. 2250  PRINT " dB/100 feet"
  226. 2260  PRINT "                                  =";USING U$;A/0.3048;
  227. 2270  PRINT " dB/100 metres"
  228. 2280  IF UM=1 THEN M=1 ELSE M=0.3048
  229. 2290  PRINT " Line Length.......................";USING U$;LG;:PRINT " ";M$
  230. 2300  PRINT " Line Loss.........................";USING U$;LG/100*A/M;
  231. 2310  PRINT " dB"
  232. 2320  PRINT UL$;
  233. 2330  GOTO 2350
  234. 2340  '
  235. 2350  '.....end
  236. 2360  GOSUB 2400
  237. 2370  GOTO 190   'start
  238. 2380  END
  239. 2390  '
  240. 2400  'HARDCOPY
  241. 2410  GOSUB 2520:LOCATE 25,2:COLOR 14,6
  242. 2420  PRINT " Press 1 to print screen, 2 to print screen & ";
  243. 2430  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  244. 2440  Z$=INKEY$:IF Z$="3"THEN GOSUB 2520:RETURN
  245. 2450  IF Z$="1"OR Z$="2"THEN GOSUB 2520:GOTO 2470
  246. 2460  GOTO 2440
  247. 2470  FOR QX=1 TO 24:FOR QY=1 TO 80
  248. 2480  LPRINT CHR$(SCREEN(QX,QY));
  249. 2490  NEXT QY:NEXT QX
  250. 2500  IF Z$="2"THEN LPRINT CHR$(12)
  251. 2510  GOTO 2410
  252. 2520  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  253.